//
//  UMTool.h
//  032519-友盟统计SDK
//
//  Created by 强进冬 on 2019/3/26.
//  Copyright © 2019 强进冬. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UMShare/UMShare.h>
#import <UMCommon/UMCommon.h>
#import <UMAnalytics/MobClick.h>
#import <UShareUI/UShareUI.h>




@interface UMTool : NSObject

/// 默认初始化，不打印日志，不加密传输日志, 默认开启CrashReport收集
+ (void)prepare;


/**
 初始化准备

 @param logEnabled 是否启用日志，默认为NO, 注意:发布产品时必须设置为NO.
 @param encryptEnabled 设置是否对统计信息进行加密传输, 默认为NO
 @param crashReportEnabled 收集app适用过程中产生的Crash信息,统计SDK默认是开启Crash收集机制的
 */
+ (void)prepareWithLogEnabled:(BOOL)logEnabled encryptEnabled:(BOOL)encryptEnabled crashReportEnabled:(BOOL)crashReportEnabled;


/// 获取集成测试需要的device_id
+ (NSString *)deviceIDForIntegration;


/**
 设置 统计场景类型，默认为普通应用统计：E_UM_NORMAL

 @param eSType 统计场景类型
 */
+ (void)setScenarioType:(eScenarioType)eSType;


/**
 设置社会化平台
 
 @param socialPlatformType 平台类型
 */
+ (void)setPlatform:(UMSocialPlatformType)socialPlatformType;


/**
 授权登录，并获取用户信息

 @param platform 平台
 @param currentViewController 当前控制器
 @param completion 获取到用户信息回调结果
 */
+ (void)getUserInfoWithPlatform:(UMSocialPlatformType)platform currentViewController:(id)currentViewController completion:(void (^)(id result, NSError *error))completion;


/**
 分享消息对象
 */
+ (UMSocialMessageObject *)socialMessageObject;

/**
 文本消息

 @param text 文本字符串
 @return 要分享的消息
 */
+ (UMSocialMessageObject *)messageWithText:(NSString *)text;

/**
 图片/图文消息(支持新浪微博);

 @param picture 图片
 @param thumbImage 缩略图
 @return 要分享的消息
 */
+ (UMSocialMessageObject *)messageWithPicture:(id)picture pictureArray:(NSArray *)pictures text:(NSString *)text thumbImage:(id __nullable)thumbImage;

/**
 分享网页消息; 新浪分享webpage类型(需要强制加入缩略图)
 */
+ (UMSocialMessageObject *)messageWithWebpageUrlString:(NSString *)url title:(NSString *)title description:(NSString *)description thumImage:(id)thumImage;

/**
 音乐消息 “shareObject.musicDataUrl = @"这里设置音乐数据流地址（如果有的话，而且也要看所分享的平台支不支持）“
 */
+ (UMSocialMessageObject *)messageWithMusic:(NSString *)musicUrl title:(NSString *)title description:(NSString *)description thumImage:(id)thumImage;

/**
  视频消息 - 新浪微博 和 QQ 不支持 html 视频 播放界面
 */
+ (UMSocialMessageObject *)messageWithVideo:(NSString *)videoUrl title:(NSString *)title description:(NSString *)description thumImage:(id)thumImage;

/**
 微信表情消息
 */
+ (UMSocialMessageObject *)messageWithEmotion:(NSData *)data title:(NSString *)title description:(NSString *)description thumImage:(id)thumImage;

/**
 分享面板配置
 */
+ (void)shareMenuBarConfigure;


/**
 在分享面板添加自定义分享平台
 */
+ (void)shareMenuBarAddCustomPlatform;

/**
 调用分享面板，传入平台枚举数组，示例：@[@(UMSocialPlatformType_Sina), @(UMSocialPlatformType_QQ), @(UMSocialPlatformType_WechatSession)]，默认 nil

 @param platforms 定制分享面板显示的分享平台，
 @param completion 选择分享平台后回调
 */
+ (void)showShareMenuWithDefinePlatforms:(NSArray *)platforms completion:(void (^)(UMSocialPlatformType platformType, NSDictionary *userInfo))completion;

/**
 分享消息到指定平台

 @param platformType 要分享到的个平台
 @param messageObject 分享的消息
 @param currentViewController 当前的控制器
 @param completion 分享完成后d回调
 */
+ (void)shareToPlatform:(UMSocialPlatformType)platformType
          messageObject:(UMSocialMessageObject *)messageObject
  currentViewController:(id)currentViewController
             completion:(void (^)(id data, NSError *error))completion;

@end


